# coding: utf-8

"""
* 在Python中，使用print输出 对象变量，默认情况下，会输出这个变量引用的对象
  是由哪一个类创建的对象，以及在内存中的地址（十六进制表示）
* 如果在开发中，希望使用print输出对象变量时，能够打印自定义的内容，
  就可以利用__str__这个内置方法了

  和java的toString是一个意思
> 注意：__str__方法必须返回一个字符串
"""


class Cat:

    def __init__(self):
        # 定义属性
        self.name = None
        self.age = None

    # 定义print输出对象变量时打印的内容
    def __str__(self):
        return f"姓名：{self.name} 年龄：{self.age}"

    def info(self):
        print(f"{self.name} {self.age}岁")


tom = Cat()
tom.name = "大猫猫"
tom.age = 5
print(tom)  # 姓名：大猫猫 年龄：5
